/*
 * @Author: HeAo
 * @Date: 2022-08-18 20:05:38
 * @LastEditTime: 2022-08-19 11:01:40
 * @LastEditors: HeAo
 * @Description: 
 * @FilePath: \JavaScripe\day-09\06-原型模式的问题.js
 * 别乱动！
 */
function Person() {}
Person.prototype = {
  constructor: Person,
  name: 'zhangsan',
  age: 20,
  friends: ['lisi', 'wangwu'],
  sayName() {
    console.log(this.name);
  }
}
var p1 = new Person()
p1.friends.push('terry') //p1多加了一个朋友
var p2 = new Person()
console.log(p2.friends); //p2也继承了添加上去的值 [ 'lisi', 'wangwu', 'terry' ]
console.log(p1.sayName === p2.sayName); //true

// 产生新问题:p1添加的值,修改了整个原型对象,后续实例继承被影响
// 因此可以看出原型更利于存在方法 构造函数更利于直接赋值的属性